//
//  YGFormTableView.m
//  yuanshangyiliao
//
//  Created by icholab on 2021/4/28.
//

#import "YGFormTableView.h"
#import "YGFormItemTableViewCell.h"
@interface YGFormTableView ()<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic, strong) UITableView  *tableView;
@property (nonatomic, strong) YGFromTableConfigure  *confi;
@property (nonatomic, strong) NSArray  *data;
@property (nonatomic, strong) Class cellClass;

@end
@implementation YGFormTableView

- (id)initWithConfigure:(YGFromTableConfigure *)configure registerCell:(Class)cellClass{
    self = [super init];
    if (self) {
        self.cellClass = cellClass;
        self.confi = configure;
        [self initView];
        [self initMas];
    }
    return self;
}

- (void)initView{
    [self addSubview:self.tableView];
}

- (void)initMas{
    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.left.bottom.right.mas_equalTo(0);
    }];
}
- (void)configureData:(id)data{
    self.data = data;
    [self.tableView reloadData];
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return self.confi.cellHieght;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return self.data.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    YGFormItemTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass(self.cellClass)];
    if (!cell) {
        cell = [[self.cellClass alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass(self.cellClass)];
        [cell setConfigure:self.confi];
    }
    cell.accessoryType = UITableViewCellAccessoryNone;
    cell.editingAccessoryType = UITableViewCellAccessoryNone;
    cell.tag = indexPath.row;
    [cell setConfigure:self.confi];
    [cell setData:self.data[indexPath.row]];
    return cell;
}

- (UITableView *)tableView{
    if (!_tableView) {
        _tableView = [[UITableView alloc] init];
        _tableView.separatorStyle = UITableViewCellAccessoryNone;
        _tableView.dataSource = self;
        _tableView.delegate = self;
        _tableView.showsVerticalScrollIndicator = NO;
        [_tableView registerClass:self.cellClass.class forCellReuseIdentifier:NSStringFromClass(self.cellClass)];
    }
    return _tableView;
}

@end
